package tag

import org.springframework.cloud.contract.spec.Contract

Contract.make {
    request {
        method("GET")
        url("/api/v3/tags/topTenTags") {
            queryParameters {
                parameter("name", "first")
            }
        }
    }
    response {
        status(200)
        body("""
        [
            {
                "id":1,
                "name":"tag",
                "makerId":1,
                "referenceNumber":1
            }
        ]
        """)
        bodyMatchers {
            jsonPath('$[*]', byType())
            jsonPath('$[*].id', byRegex(number()))
            jsonPath('$[*].name', byRegex("[\\s\\S]+"))
            jsonPath('$[*].id', byRegex(number()))
            jsonPath('$[*].id', byRegex(number()))
        }
        headers {
            contentType(applicationJsonUtf8())
        }
    }
}
